﻿using Compass.Wasm.Shared.Categories;

namespace Compass.Wasm.Shared.Plans;
/// <summary>
/// 成品库存统计
/// </summary>
public class FinishedGoodsCountDto : BaseDto
{
    private string odpNumber;
    public string OdpNumber
    {
        get => odpNumber;
        set
        {
            odpNumber=value;OnPropertyChanged();
        }
    } //FSO号码

    private string name;
    public string Name
    {
        get => name;
        set
        {
            name = value;
            OnPropertyChanged();
        }
    } //项目名称

    private Sbu_e sbu;
    public Sbu_e Sbu
    {
        get => sbu;
        set
        {
            if (value == sbu) return;
            sbu = value;
            OnPropertyChanged();
        }
    } //
    
    private int palletQuantity;
    public int PalletQuantity
    {
        get => palletQuantity;
        set
        {
            if (value == palletQuantity) return;
            palletQuantity = value;
            OnPropertyChanged();
        }
    }
    //托盘数量

    private DateTime finishTime;
    public DateTime FinishTime
    {
        get => finishTime;
        set
        {
            if (value.Equals(finishTime)) return;
            finishTime = value;
            OnPropertyChanged();
        }
    }


    private DateTime? warehousingTime;
    //完工时间，合同提货日期
    public DateTime? WarehousingTime
    {
        get => warehousingTime;
        set
        {
            if (Nullable.Equals(value, warehousingTime)) return;
            warehousingTime = value;
            OnPropertyChanged();
        }
    }

    private DateTime? shippingTime;
    //入库日期
    public DateTime? ShippingTime
    {
        get => shippingTime;
        set
        {
            if (Nullable.Equals(value, shippingTime)) return;
            shippingTime = value;
            OnPropertyChanged();
        }
    }
    //出货日期

    private DateTime? outsideTime;
    public DateTime? OutsideTime
    {
        get => outsideTime;
        set
        {
            if (Nullable.Equals(value, outsideTime)) return;
            outsideTime = value;
            OnPropertyChanged();
        }
    }
    //移至外仓日期

    private double outsideArea;
    public double OutsideArea
    {
        get => outsideArea;
        set
        {
            if (value.Equals(outsideArea)) return;
            outsideArea = value;
            OnPropertyChanged();
        }
    }

    //外仓货物面积
    private WarehouseLocation_e location;
    public WarehouseLocation_e Location
    {
        get => location;
        set
        {
            if (value == location) return;
            location = value;
            OnPropertyChanged();
        }
    }
    //库位

    //使用的中间值
    private bool shipping;
    public bool Shipping
    {
        get => shipping;
        set
        {
            if (value == shipping) return;
            shipping = value;
            OnPropertyChanged();
        }
    }

    private bool outside;
    public bool Outside
    {
        get => outside;
        set
        {
            if (value == outside) return;
            outside = value;
            OnPropertyChanged();
        }
    }

    //计算出来的值
    public int Aging { get; set; }//库龄，单位day天
    public double StorageFee { get; set; }//预估仓储费用
    public bool CanEdit { get; set; } //添加的行可以被编辑
    public Guid? MainPlanId { get; set; }
    public bool Partially { get; set; }//是一部分未发货
    public double Area { get; set; } //货物面积
}